// 获取当前的打包环境
const env = process.env.NODE_ENV // 获取处于哪种开发模式  yarn serve development   yarn budl production
// 打包排除项
let externals = {}

// 根据打包环境，动态设置打包排除项
if (env === 'production') {
  externals = {
    // import 时的包名称: window 全局的成员名称
    vue: 'Vue',
    'vue-router': 'VueRouter',
    vuex: 'Vuex',
    axios: 'axios',
    dayjs: 'dayjs',
    echarts: 'echarts',
    'element-ui': 'ELEMENT',
    'vue-quill-editor': 'VueQuillEditor'
  }
}

module.exports = {
  publicPath: './',
  devServer: {
    port: 3000,
    open: true
  },
  // 增强 vue-cli 的 webpack 配置项
  configureWebpack: {
    // 打包优化
    externals
  },
  // 移除打包
  chainWebpack: (config) => {
    config.optimization.minimizer('terser').tap((args) => {
      args[0].terserOptions.compress.drop_console = true
      return args
    })
  }
}
